@echo off
echo ========================================
echo 微服务系统端到端测试
echo ========================================

echo 检查服务状态...
docker-compose ps

echo.
echo 等待服务完全启动...
timeout /t 30 /nobreak >nul

echo.
echo ========================================
echo 1. 基础连通性测试
echo ========================================

echo 测试Consul服务发现...
curl -s http://localhost:8500/v1/status/leader
if errorlevel 1 (
    echo ❌ Consul连接失败
) else (
    echo ✅ Consul服务正常
)

echo.
echo 测试API网关...
curl -s http://localhost:8080/actuator/health
if errorlevel 1 (
    echo ❌ API网关连接失败
) else (
    echo ✅ API网关正常
)

echo.
echo 测试用户管理服务...
curl -s http://localhost:8082/actuator/health
if errorlevel 1 (
    echo ❌ 用户管理服务连接失败
) else (
    echo ✅ 用户管理服务正常
)

echo.
echo 测试课程管理服务...
curl -s http://localhost:8083/actuator/health
if errorlevel 1 (
    echo ❌ 课程管理服务连接失败
) else (
    echo ✅ 课程管理服务正常
)

echo.
echo 测试练习管理服务...
curl -s http://localhost:8085/actuator/health
if errorlevel 1 (
    echo ❌ 练习管理服务连接失败
) else (
    echo ✅ 练习管理服务正常
)

echo.
echo 测试学习进度服务...
curl -s http://localhost:8084/actuator/health
if errorlevel 1 (
    echo ❌ 学习进度服务连接失败
) else (
    echo ✅ 学习进度服务正常
)

echo.
echo ========================================
echo 2. 数据库连接测试
echo ========================================

echo 测试MySQL连接...
docker exec microservices-mysql-1 mysql -uroot -proot123 -e "SELECT 1;" 2>nul
if errorlevel 1 (
    echo ❌ MySQL连接失败
) else (
    echo ✅ MySQL连接正常
)

echo.
echo ========================================
echo 3. 服务注册状态检查
echo ========================================

echo 检查Consul中的服务注册...
curl -s http://localhost:8500/v1/catalog/services | findstr /i "api-gateway\|user-management\|course-management\|exercise-management\|learning-progress"

echo.
echo ========================================
echo 测试完成！
echo ========================================

echo 🌟 服务访问地址:
echo - Consul管理界面: http://localhost:8500
echo - API网关: http://localhost:8080
echo - 用户管理服务: http://localhost:8082
echo - 课程管理服务: http://localhost:8083
echo - 练习管理服务: http://localhost:8085
echo - 学习进度服务: http://localhost:8084
echo - MySQL数据库: localhost:3307
echo.

echo 📋 下一步测试:
echo 1. 运行 API功能测试: test-api-endpoints.bat
echo 2. 运行 业务流程测试: test-business-flow.bat
echo 3. 运行 性能测试: test-performance.bat
echo.

pause